package com.lei.service;

import com.lei.entity.Staff;
import com.lei.util.PageBean;

/**
 * @author Lei Chu
 * @Date 2020/10/16 18:15
 */
public interface StaffService {

    /**
     * 功能描述:检测用户登录
     * @param staff User
     * @return com.lei.entity.User
     */
    Staff checkLogin(Staff staff);

    /**
     * 功能描述:将数据库查询的员工数据封装称为PageBean对象
     * @param staff
     * @return com.lei.util.PageBean
     */
    PageBean getAllStaff(Staff staff);

    /**
     * 功能描述:获取最后一位员工编号
     * @return int
     */
    int getLastStaffId();

    /**
     * 功能描述:添加员工
     * @param staff Staff
     * @return int
     */
    int addStaff(Staff staff);

    /**
     * 功能描述:修改员工密码
     * @param staff Staff
     * @return int 
     */
    int updatePassword(Staff staff);
    
    /**
     * 功能描述:根据Id删除指定员工
     * @param id ID
     * @return int 
     */
    int deleteStaff(int id);

    /**
     * 功能描述:获取离职员工的数据
     * @param staff Staff
     * @return java.util.List<com.lei.entity.Staff>
     */
    PageBean<Staff> getAllResignedStaff(Staff staff);

    /**
     * 功能描述:员工离职
     *
     * @param id Id
     * @return int
     */
    int staffResigned(String id);

    /**
     * 功能描述:员工重新入职
     *
     * @param id Id
     * @return int
     */
    int staffCreated(String id);

    /**
     * 功能描述:查找当前用户的
     * @param nowStaff 用户
     */
    Staff getNowStaffById(Staff nowStaff);

    /**
     * 功能描述:员工自己修改自己的手机号和地址
     * @param staff Staff
     * @return int
     */
    int updateStaffPhoneAndAdderss(Staff staff);

    /**
     * 功能描述:
     * @param url 图片的路径
     * @param id 员工Id
     * @return int
     */
    int updateUrl(String url, Integer id);
}
